package org.example.test915.entity.rt;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;

import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * Excel实体类
 *
 * @author dingcan
 * @since 2021-11-18 9:29
 */
@ApiModel("excel导出实体")
@Data
//@Builder
//读写反射对象用到了Cglib,所以成员变量必须符合驼峰规范，请确认是否符合驼峰规范
// 使用Accessors时, 无法获取字段值(使用了lombok的@Accessors(chain = true) ，无法被Cglib读取)
//@Accessors(chain = true)
@NoArgsConstructor
@ContentRowHeight(20)
@HeadRowHeight(20)
@ColumnWidth(15)
public class ExeclEntity {
    @ExcelProperty(value = "国家/地区")
    private String country;

    @ExcelProperty(value = "人员类别")
    private String personType;

    @ExcelProperty(value = "职能领域")
    private String functionArea;

    @ExcelProperty(value = "军种/部门")
    private String militaryDepartment;

    @ExcelProperty(value = "内部编号")
    private String internalNum;

    @ExcelProperty(value = "姓名")
    private String username;

    @ExcelProperty(value = "姓名（译）")
    private String englishName;

    @ExcelProperty(value = "性别")
    private String gender;

    @ExcelProperty(value = "出生年月")
    private String birthday;

    @ExcelProperty(value = "单位职务")
    private String jobPosition;

    @ExcelProperty(value = "现单位入职时间")
    private String joinCurrentTime;


    @ExcelProperty(value = "专长领域")
    private String expertiseArea;

    @ExcelProperty(value = "教育背景（译）")
    private String educationBackground;

    @ExcelProperty(value = "从业背景（译）")
    private String professionBackground;

    @ExcelProperty(value = "详情链接")
    private String detailLink;








    /**
     * 忽略这个字段
     */
    @ApiModelProperty("忽略字段")
    @ExcelIgnore
    private String ignore;
}
